package com.smartlbs.service;

import com.smartlbs.entity.Bigchamp;
import com.smartlbs.entity.GameInfo;
import com.smartlbs.vo.GameInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author idaowei
 *
 */

@Service
public interface IGameInfoService {
	int insert(GameInfo info) throws Exception;

	int update(GameInfo info) throws Exception;

	int delete(long infoId) throws Exception;

	GameInfo findByid(long infoId) throws Exception;

	// 查询赛事
	List<GameInfo> query(GameInfo info) throws Exception;

	// 上传文件 插入数据
	Map<String, Object> insertByfile(MultipartFile file) throws Exception;

	/**
	 * 通过时间查询赛事
	 * 
	 * @param time
	 *            ： 2019-5-28
	 * @return
	 */
	List<GameInfoVo> findbyTime(String time) throws Exception;

	/**抓取 赛事信息
	 * @throws Exception
	 */
	void insertChamps() throws Exception;

	/**
	 * @return 大赛事列表,开赛时间大于当前时间
	 * @throws Exception
	 */
	List<Bigchamp> findBigchamp() throws Exception;
	/**	客户端查询大赛事
	 * @param
	 * @return
	 * @throws Exception
	 */
	List<Bigchamp> sysFindBigchamp(String gameName,String order,String startDate,String endDate ) throws Exception;

	/**根据大赛事名删除赛事列表
	 * @param gameName
	 * @return
	 * @throws Exception
	 */
	int deleteBigchamp(@Param("name") String gameName) throws Exception;

	/**更新大赛事 
	 * @param dto
	 * @return
	 * @throws Exception
	 */
	int updateBigchamp(Bigchamp dto) throws Exception;
	 /**根据外部id 赛事列表
	 * @param
	 * @return
	 * @throws Exception
	 */
	List<GameInfoVo> findByoutId(String outId) throws Exception;
	 /**根据大赛事名查询 赛事列表 开盘状态
	 * @param
	 * @return
	 */
	List<GameInfoVo> findByoutIdands(String outId) throws Exception;
	
	/**根据大赛事id 查询赛事列表与相应的押注项
	 * @param outId
	 * @return
	 * @throws Exception
	 */
	List<GameInfoVo> findByoutIdandBet(String outId) throws Exception;

	 /**大赛事列表 开盘
	 * @return
	 */
	List<Bigchamp> findBigchampands() throws Exception;
	/**
	 * 通过时间查询开盘赛事
	 * 
	 * @param time
	 *            ： 2019-5-28
	 * @return
	 */
	List<GameInfoVo> findbyTimeands(String time) throws Exception;
	/**	 查询词典修改赛事名称英译中
	 * @param outId
	 * @return
	 */
	int changeGameName(String outId) throws Exception;
}
